#pragma once
#include <vector>

#include "Timer.h"
#include "UI_Button.h"
#include "PhysicalEntity.h"
#include "Camera.h"
#include "Player.h"

/* Load / Initialise Functions */
void InitializeDevIL();
void InitializeGame();

/* Draw Function */
void DrawGame();

/* Update Function */
void UpdateGame();

/* Global (gasp!) Variables */
/* ************************ */

// Error Checking
extern unsigned int g_error;

// Timer
extern Timer input_timer;
extern Timer physics_timer;
extern Timer display_timer;

// Camera
extern Camera* current_camera;

// List of entities
extern std::vector<DrawnEntity*> draw_list;

// Player
extern Player* current_player;

